History file ------------ The contents of this file contains bugfix lists, changes and additions to each maintenance release of Terminus 2.0. Everything discussed here will be merged in the user manual as well for the full distribution archive. Terminus 2.0c ------------- Due to the leak of a 2.0b beta this release has been bumped to 2.0c. 2.0c is also the first release that has been shipped to registered users. A serialized keyfile (displayed at startup and printed on the disk label) is included with the registered distribution disk so that you can download updates to Terminus locally. The keyfile must be located in the TERMINUS: volume. The following bugfixes, changes, additions and deletions to the executable have also been merged to the user manual included with this distribution. Bug fixes --------- - Beefed up syntax checking for DISPLAY command. - Fixed guru on exit bug that some systems were getting. - Fixed #4 guru on startup due to text overscan being larger than Workbench. - Status line gadgets for CRXLATE, LFXLATE and EOLOUT now working correctly. - The macro escape !% no longer sends the '%' character. - VT emulations should no longer reset columns to 80 anymore. - WAIT from ARexx would cause the next command to fail, fixed. - TPEN, BPEN and CPEN variables were returning incorrect values. - Read-only variables were not being passed to ARexx. - Entry editor no longer deletes macros after editing. - '~' delay character in fkey macros now works. - [MISC][QUIET SERIAL?] menu item now updated after iconifying. - Now clips last column properly with 1.x and 2.x releases. - Repeat search now advances to next match on last line properly. - Selecting Ignore in a string or integer requester restores fast cursor. - Removed 'R' character from CIS B+ file transfers. - Kermit XPR transfers should be working now. - IF/ELSE checking no longer gets confused with multi-line comments. - QUIET mode for the INPUT script command is now reset properly. - Dialer should now be insensitive to parity. - CALL and CHAIN script commands working again. - Fixed some enforcer hits when canceling file requester in console. - Script SEND command now handles read-only string variables. - QUIET command line option (and tooltype) working again. - CURPALETTE loads palette colors now. - Dialer is now idled if OwnDevUnit requests the port in use. - WINPOS updating no longer occurs after loading a new .con file. - Using to remove a selected entry now dials next entry. - Chat mode restored properly after uninconifying. - Keymap string gadget now updated when loading a console definition. - VT-xx emulations no longer guru when used with less than 24 lines. - Screen title properly restored after system requesters are posted. - ANSI index properly handles colors in 8-15 range now. - SGR color selection with the MONO palette now limited to colors 0-3. - ZMODEM rename option now overrides resume properly. - Deleting entries at the end of the phonebook no longer leave garbage. - Clipping from the main display highlights the last character properly. - Terminus now waits for OwnDevUnit to return before completing startup. - Reduced ZMODEM window size to 32k max to fix ZMODEM download lockups. - Number dial handles a blank entry properly now. - No longer locks up when searching prior to opening review buffer. - Y/ZMODEM downloads now do an auto-rename if target is a directory. - Now trims trialing '/' characters in paths requester. - EXISTS() script command now returns FALSE for NULL and directories. WATCHDOG command ---------------- A new script command has been added that monitors keyboard idle time. The synrax is: WATCHDOG OFF | num1, num2 The first value, sets the timeout in seconds that the watch dog timer will wait for the keyboard to be idle before sending the character defined by (which can range from 0 through 255). The timer is reset everytime a key that transmits a character is pressed. When a timeout condition is reached the character defined will be sent and the timer will be reset again. This command operates outside the context of a script. Once set, it will continue to run until carrier is lost, although carrier does not need to be present for it to be initialized. NOQUICK option -------------- This option variable has been added due to the problems with dnet.device (or any other serial device replacement) that does not properly handle the IOF_QUICK bit when used with BeginIO() during a CMD_READ request. As per the RKM documentation for the serial.device, if a CMD_READ is called via BeginIO() with the IOF_QUICK bit set, the device is to return the request immediately with the bit still set if it was able to read the desired number of bytes immediately from the internal buffer of the device. Unfortunately, some devices always queue a request when BeginIO() is called even though the proviso for the serial.device states otherwise. If you're using dnet.device you should turn this option on via a script command of: NOQUICK = TRUE Chat mode --------- Changed chat mode to only recognize '^' escape character for queued control characters now. VT-220 ------ More additions to the keyboard with this release. / sends a ^_ character. Cursor keys ----------- The following sequences are sent for cursor keys with the qualifier. CSI T CSI S CSI sp @ CSI sp A Where CSI is " [" or hexadecimal 9B and is a space character. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Terminus 2.0a ------------- As expected, there were some bugs remaining in the initial release of Terminus. This version is primarily a maintenance release to repair those problems, but it does incorporate several changes and additions which are sectioned and titled below. Bug fixes --------- - ReqChange is now working. - Entry macros requester no longer opens without a script being present. - Now closes review buffer if it is cleared while open. - [MISC][RESET TERMINAL][X] now resets the foreground/backround pens. - Palette requester now changes screens when menu pens are changed. - Prescroll should work with ANSI controls in data stream now. - Now forces non-interleaved bitmaps with non-AGA machines and no fast ram. - No longer disables 16 color screens on AGA machines without fast ram. - VTOpts requester no longer resets column size and font. - Sprite horizontal offset fixed. - , and keys send appropriate characters in VT-220. - COLOR and CUSTOM palettes should work properly with VT-xx now. - Predefined script variables were not passing a result back to ARexx. - Line wraps with double width characters in VT-xx should work correctly now. - [MISC][PRINTER ?][P] no longer prints contents of screen at close. - No longer gurus after posting serial port error requester. - Now keeps the serial port if carrier is present when using OwnDevUnit. - Deleting and inserting characters at end of chat buffer no longer gurus. - Smooth scroll should no longer leaves rectangles of the menus behind. - Phonebook now deletes new entries that don't have any numbers defined. - [PHONEBOOK][DIAL NUMBER...][j] ignores null entries now. - Dialer now loads fkey macros when an entry is in auto-record mode. - Selected files list is now purged when a transfer aborts. - Can no longer enter an empty string for Boyer-Moore search. - Script command CALL now working. - Beefed up checking for unassigned volumes and missing subdirectories. - Able to clip hidden text in the review buffer now. - CURPALETTE is working now. - Fixed syntax error in palette definitions. - INVLINE no longer interfered by cursor. - ZMODEM window problem fixed. Modem config script ------------------- The automatically launched configuration script apparently has caused a lot of confusion that I had not been prepared for. Evidently, no amount of changes or amplified warnings will be sufficient to prevent future problems, so Terminus will no longer start this script by itself. The script has also been renamed as "ModemConfig.scp" and has had some minor changes to it's opening text to better explain the objective of that script. Please accept my apologies for any grief this script may have caused you. Display changes --------------- If you are using AmigaDOS 2.x and have created any console definition files with the initial release you will need to edit those files to delete the DISPID and DISPLAY commands in them prior to running this release of Terminus. After making those deletions you can load each one and adjust the appropriate parameters and save them out again. These changes were made necessary due to the major addition in this version of a screen mode requester for WB2.x. You will need the V38 release of asl.library (included with WB2.1) or ReqTools in order to use this version of Terminus. The DISPID command has been reassigned as a keyword for use in the DISPLAY command. The synatx for DISPLAY has been changed as well. It now has two syntax modes, one for WB1.3 and the other for WB2.x. The command now works as follows: 1.3 DISPLAY ----------- DISPLAY [ = { WORKBENCH | [ILACE] { 2 | 4 | 8 | 16 } COLOR } rows cols ] The console requester and DISPLAY command is unchanged for use with AmigaDOS 1.3, continue to use as before. 2.x DISPLAY ----------- DISPLAY [ = { WORKBENCH | DISPID val { 2 | 4 | 8 | 16 } COLOR } rows cols ] With AmigaDOS 2.x the console requester removes the SCREEN cycle gadget and the INTERLACE check gadget and replaces them with a screen mode pair of gadgets that are much like the font and definition file gadget sets. Terminus adds a private screen mode to the list of available modes for the purpose of selecting the Workbench (or active public) screen for opening it's display on. This mode is not global, it will not be seen by any other application that accesses the display modes list. While in the screen mode requester you may select any combination of display mode and screen depth. However, once you close the requester after making your choice, Terminus will adjust the screen depth according to which palette is in use at the time you make your screen mode selection. To recap, the following depths are allowed for each palette: COLOR 2, 4, 8, 16 (and 32 with AGA systems). CUSTOM 2, 4 and 8. MONO 2, 4 and 8. WORKBENCH n/a. Inactive window indicator ------------------------- The borderless display has no visual indication that the window is active or inactive if you're not using the fast (sprite) cursor. This has been changed so that the status line only displays the session name, timer and clock when the window is inactive. Border blank control -------------------- {GENERAL}{BORDER BLANKER}{B} enables/disables border blanking with ECS and AGA based machines on custom screens. Mouse functions control ----------------------- {GENERAL}{MOUSE FUNCTIONS}{S} enables/disables the clipping, ANSI mouse and character mouse operations available in Terminus to prevent interference with alternate utilities that access those sequences. Emulation changes ----------------- The Amiga and IBM (COLOR/MONO) emulations have been "relaxed" a bit to allow for ANSI sequences that are not really part of those two emulations. This was made necessary to accomodate those BBS' whose system and utilities depend on non-standard sequences being present. VT-220 changes/additions ------------------------ The VT-220 emulation has been enhanced to include the generation of "meta" keys. The characters a-z and A-Z when used in conjunction with the qualifier will now send that character prefixed with an character. The , and keys now send the appropriate 7 bit character, not the 8 bit sequence they were sending previously. The following numeric keypad keys send VT-220 edit functions when used with the qualifier: - Find - Insert Here - Remove - Select - Prev Screen - Next Screen OwnDevUnit changes/additions ---------------------------- Terminus now ignores requests for the device/unit that it currently owns while carrier is present. A new option, {PORT}{ODU NOTIFY}{N} (ODUNOTIFY), when active, enables Terminus to allow for device/unit requests. When inactive it will ignore all requests. Chat buffer changes ------------------- Chat area can now be set to a one line chat buffer. Also, the chat buffer can be toggled via now. Phonebook/dialer changes ------------------------ The phonebook will no longer allow the creation of entries that don't have at least one phonenumber defined. The number dial mode of starting the dialer will also ignore a null entry as well. A problem showed up with the way macros are stored for an entry that has been fixed. Macro definitions need to be at the top of a login script, but there was a situation where they would be appended to the end of the script if the script was created via recorder prior to defining any macros. Now the script is created when the entry is, regardless of the presence of macros or not.